1. Field of the Invention
This application relates to interconnections between networks and, more particularly, to a method and apparatus for managing the interconnection between network domains.
2. Description of the Related Art
Data communication networks may include various computers, servers, nodes, routers, switches, bridges, hubs, proxies, and other network devices coupled together and configured to pass data to one another. These devices will be referred to herein as “network elements.” Data is communicated through the data communication network by passing protocol data units, such as frames, packets, cells, or segments, between the network elements by utilizing one or more communication links. A particular protocol data unit may be handled by multiple network elements and cross multiple communication links as it travels between its source and its destination over the network.
The various network elements on the communication network communicate with each other using predefined sets of rules, referred to herein as protocols. Different protocols are used to govern different aspects of the communication, such as how signals should be formed for transmission between network elements, various aspects of what the protocol data units should look like, how packets should be handled or routed through the network by the network elements, and how information associated with routing information should be exchanged between the network elements.
Ethernet is a well known networking protocol that has been defined by the Institute of Electrical and Electronics Engineers (IEEE) as 802 standards. Conventionally, Ethernet has been used to implement networks in enterprises such as businesses and campuses, and other technologies have been used to transport network traffic over longer distances. As the Ethernet standards have evolved over time, Ethernet has become more viable as a long distance transport technology as well.
FIG. 1 shows several fields that have been added to the Ethernet standard over time. As shown in FIG. 1, the original Ethernet frame format specified by IEEE 802.1 includes a source address (C-SA) and a destination address (C-DA). IEEE 802.1Q added a Customer VLAN tag (C-Tag) which includes an Ethertype, TCI information, and customer VLAN ID. IEEE 802.1ad added a provider VLAN tag (S-Tag), which also includes an Ethertype, TCI information, and subscriber VLAN ID. The C-Tag allows the customer to specify a VLAN, while the S-Tag allows the service provider to specify a VLAN on the service provider's network for the frame. These tags also allow the customer and subscriber to specify other aspects which are not relevant to an understanding of the contribution disclosed herein. When a network is implemented using 802.1ad it may be referred to as Q in Q encapsulation or Provider Bridging (PB). A domain implemented using this Ethernet standard will be referred to as a Provider Bridging (PB) domain.
The Ethernet standard has evolved to also allow for a second encapsulation process to take place as specified in IEEE 802.1ah. Specifically, an ingress network element to a service provider's network may encapsulate the original Ethernet frame with an outer MAC header including a destination address on the service provider's network (B-DA), a source address on the service provider's network (B-SA), a VLAN ID (B-VID) and a service instance tag (I-SID). The combination of customer MAC addresses C-SA and C-DA with the I-SID are commonly referred to as the I-Tag. A domain implemented using this Ethernet standard will be referred to as a Provider Backbone Bridging (PBB) domain.
There are also two other Ethernet standards that have been developed or which are in the process of being developed that may be used in one or more of the domains. Specifically, IEEE 802.1 Qay specifies a way for the network elements to switch traffic based on the B-DA and B-VID rather than just forwarding the traffic according to the B-DA. The header of the frames forwarded on an Ethernet network established using this technology is not changed, but the manner in which the information is used is changed to allow forwarding to take place in a different manner. A network domain that forward traffic using this forwarding paradigm will be referred to as Provider Backbone Trunking (PBT).
PBT, PBB, PB, and the original Ethernet standard use a spanning tree protocol to determine which links should be used to broadcast traffic on the network and which links should be used to forward unicast traffic on the network. To overcome some of the shortcomings of using spanning trees, another Ethernet standard is in the process of being developed as IEEE 802.1aq, in which a shortest path routing protocol such as Intermediate System to Intermediate System (IS-IS) or Open Shortest Path First (OSPF) is used in the control plane to establish forwarding paths through the network. Traffic on the domain may then be forwarded based on the B-DA and B-VID in a manner similar to PBT, but from a control perspective a shortest path routing protocol is used instead of a spanning tree to define routes through the network. A domain implemented in this manner will be referred to herein as a Provider Link State Bridging (PLSB) domain. PLSB is described in greater detail in U.S. patent Ser. No. 11/537,775, filed Oct. 2, 2006, entitled “Provider Link State Bridging,” the content of which is hereby incorporated herein by reference. Since PLSB refers to the control plane, it may be used to control forwarding of packets while allowing encapsulation of the packets using PB, PBB, or PBT as described above.
As mentioned above, spanning trees are commonly used in many Ethernet network domains. There are several flavors of Spanning Tree Protocols (STPs). The basic spanning tree protocol implements one tree for a given domain, and this tree is then used for all traffic. There are two variations of the basic Spanning Tree Protocol. Rapid Spanning Tree Protocol (R-STP) provides for rapid recovery and is defined by IEEE 802.1D. Multiple Spanning Tree Protocol (M-STP) provides for multiple spanning tree instances to be used in a given domain in which different VLAN IDs is associated with each of the spanning tree instances. M-STP is defined by IEEE 802.1s. The various Spanning Tree Protocols will be collectively referred to as “xSTP”.
There are instances where it is desirable to limit the extent or range of a particular network. For example, a company may own a network and want to limit visibility into the network. Similarly, different network providers may want to maintain the internal structure of the network proprietary. In other instances, when the number of network elements on a network increases so that the network is too large, it may be desirable to split the network into different domains so that different routing instances or other control planes may be used to control operation of each of the several networks.
When a network is divided into two parts (domains) or where different networks owned by different entities, it is often desirable to connect the networks to allow data to be exchanged between the networks. However, the interconnection should occur such that control information is able to be contained within the network domain to limit visibility between domains. This allows customers to transmit data across the interconnected networks while maintaining the independence of the various network domains.
FIG. 2 illustrates an example of a network 10 in which two domains 12A and 12B are coupled at an interconnect region 14. The domains may be implemented using one of the Ethernet technologies described above. Alternatively, one of the domains may be implemented using another technology such as Multi-Protocol Label Switching (MPLS). MPLS is defined by the Internet Engineering Task Force, which has promulgated many documents relating to its operation. The interconnect region 14 may thus be used to interconnect a MPLS network with one of the Ethernet technologies, or may be used to interconnect domains that are both implemented using the same or different Ethernet technologies.
When two networks are to be connected, it is desirable to allow the interconnection to occur in a way such that the interconnection does not cause a single point of failure in the network. For example, if two networks are connected by a single link between two network elements (one on each network) the link that interconnects the two networks provides a single point of failure, such that if the link fails the entire connection between the network domains fails. Similarly, where a single link is used, each of the network elements interfaced to the link represent a single point of failure such that if either of them fails, the interconnection fails.
FIGS. 3A-3D show several configurations that may be employed at the interconnect region 14 between domains 12A, 12B to avoid one or more single points of failure. Specifically, FIG. 3A shows a dual homed connection in which one node 16 on domain 12A is connected to two nodes 18 on domain 12B. FIG. 3B shows a dual node parallel interconnection, in which there are two nodes 16, 18 on each domain that connect to two nodes on the other domain, but the nodes within the domain are not connected. This will be referred to as a dual node parallel interconnect. FIG. 3C shows a dual node square interconnect where there are dedicated links between each of the dual nodes on each of the domain. FIG. 3D shows a dual node full mesh interconnect in which each of the dual nodes on each of the domain is interconnected with each of the other nodes at the interconnection point. The different interconnections provide different levels of protection, depending on the number of nodes and interconnects between the nodes that are able to provide redundancy in the event of a failure.
Due to the large number of protocols that may be used in the network domains, and the several different ways in which the network domains may be interconnected, it would be advantageous to provide a way in which the interconnection could be managed in a systemic and intelligent fashion.